package com.dd.mapper;

import com.dd.entity.Products;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
@Mapper
public interface ProductMapper {

    /**
     * 查询所有商品
     * @param productName 商品名称
     * @param status 商品状态
     * @return
     */
    List<Products> selectAll(@Param("productName") String productName,
                             @Param("status") String status);



    /**
     * 添加商品
     * @param products
     */
    public void insert(Products products);



    /**
     * 修改商品信息
     * @param products
     */
    int update( Products products);

    /**
     * 修改商品信息
     * @param productName
     * @param price
     * @param stockQuantity
     * @param description
     * @return
     */
    int updateProduct(@Param("productName") String productName,
                      @Param("price") double price,
                      @Param("stockQuantity") int stockQuantity,
                      @Param("description") String description,
                      @Param("productId") int productId);

    /**
     * 修改商品状态
     * @param 'active' 激活 'inactive' 未激活
     * @return
     */
    int updateProductStatus(@Param("id") int productId,@Param("status") String status);




    /**
     * 通过商品Id 删除商品 更改商品状态为 'deleted'
     * @param productId
     */
    public int delete(@Param("productId") int productId);


    /**
     * 通过商品Id的集合  更改商品状态为 'deleted'
     * @param productIds
     * @return
     */
    int deleteProducts(@Param("productIds") List<Integer> productIds);
}
